package com.dys.test11;

/**
 * @className: com.dys.test11.BuyTicketThread
 * @description: com.dys.test11
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/19 下午9:07
 */
public class BuyTicketThread implements Runnable {
    /**
     * 火车票的数量,多个人同时强
     */
    int ticketNum = 10;

    // 每个窗口都有一个线程对象,每个窗口有100个人在抢票
    @Override
    public void run() {
        // 其它逻辑
        for (int i = 1; i <= 100; i++) {
            // 把具有安全隐患的代码锁住即可，如果锁多了，就会效率低-->this就是代表当前锁
            synchronized (this) {
                if (ticketNum > 0) {
                    System.out.println("我在" + Thread.currentThread().getName() + "，购买了从【深圳->贵阳】的第" + ticketNum-- + "张票");
                }
            }
        }
        // 其它逻辑
    }
}
